package donkeykong;

/**
 * 
 * @author Antonio Cebollada, Miguel Castillo, José Ignacio Castro
 *
 */
public class Muerto implements Runnable{
	/** Referencia a la clase Mario, para poder invocar metodos de ella **/
	private Mario mario;
	
	/**Contructor que asigna la clase Mario**/
	public Muerto(Mario m){
		mario = m;		
	}

	@Override
	public void run() {
		try{
			/** Miramos si esta mirando hacia la derecha (true) o la izquierda (false) **/
			boolean mirandoDch = mario.MirandoDcha();
			/** Reproducir sonido de muerte **/
			mario.escucharSonido("death",0);	
			
			int vueltas=0;
			/** Poner la imagen de muerto_0, durante 1 segundo **/
			mario.setImageMuerto(0,mirandoDch);
			Thread.sleep(1000);
			/** Mientras no haya dado 4 vueltas, que siga dandolas **/
			while (vueltas!=4){
				/** Modificar imagen de muerto, y esperar 110 ms para que le de tiempo a pintarse (recordar que repintado estaba puesto a 100 ms) **/
				mario.setImageMuerto(2,mirandoDch);
				Thread.sleep(110);			
				mario.setImageMuerto(3,mirandoDch);
				Thread.sleep(110);		
				mario.setImageMuerto(4,mirandoDch);
				Thread.sleep(110);		
				mario.setImageMuerto(1,mirandoDch);
				Thread.sleep(110);	
				vueltas++;
			}
			
			/** Cuando ya acaba poner la de muerto_5 **/
			mario.setImageMuerto(5,mirandoDch);
			/** Esperar 2 segundos para volver a iniciar la pantalla, quitando una vida del Mario **/
			Thread.sleep(2000);
			mario.quitarVida();
			mario.iniciarNivel();
			
		}catch (InterruptedException e){
			e.printStackTrace();
		}
	}

}
